'''
Created on Sep 29, 2010

@author: kivson
'''

class No(object):
    '''
    classdocs
    '''


    def __init__(self, letra=None, quantidade=None, esq=None, dir=None):
        '''
        Constructor
        '''
        self.letra = letra
        self.quantidade = quantidade
        self.esq = esq
        self.dir = dir
    
    def codigo(self, codigo =''):
        if self.esq is None and self.dir is None:
            yield  (self.letra, codigo)
        else:
            for i in self.esq.codigo(codigo + '0'):
                yield i
            for i in self.dir.codigo(codigo + '1'):
                yield i
        #yield 'lll'
    
    def __repr__(self):
        str = '%s : %d' % (self.letra, self.quantidade)
        return str
    
    def __cmp__(self, outro):
        return cmp(self.quantidade, outro.quantidade)
    
